さんみょん
2003-09-27 01:06:12 ( ID:e9adlwly19r )
[ 削除 / 引用して返信 ]
こんにちは、さんみょんです。
過去ログを調べ、オフィシャルガイドも読んだのですが、
分からない事があるので教えて下さい。
TMPGEncにてエンコードする時に、元ファイルの音声を大きくするのは
音声加工のボリューム変更でパーセンテージを上げれば良いと認識しています。
そこで質問なのですが、ボリューム変更の所に正規化というのがあり、
ガイドには通常75%で良いとされていますが、通常でない場合というのは
どういったケースなのでしょうか?
また正規化という行為自体良く分からないのですが、どういった場合に
どういう数値にすれば良いのでしょうか?
宜しくお願いします。
V.K.
2003-09-27 02:24:05 ( ID:varimftn/9f )
[ 削除 / 引用して返信 ]
通常、PCM音声は16ビット幅でサンプリングされます。
というわけで、データは
-32768≦データ≦32767
の範囲に収まります。
音声加工->ボリューム変更->正規化ボタンを押したことで表示されるダイアログで指定する設定%を、その両端にかけます。
-32768×設定%≦データ≦32767×設定%
データをすべて検査し、その範囲内に収まるような最大倍率mを求めます。
-32768×設定%≦データ×m≦32767×設定%
このmがボリューム変更の倍率に示されます。
正規化で100%にすれば音量最大にはなりますが、かわりにD/A変換時にオーバー/アンダーフローが発生します。
この辺はD/Aコンバートの基礎部分なので「ああ、こーゆーものなんだ」と思うしかありません。
音量のチェックは音声加工ダイアログからできますから、いろいろ設定して「自分の納得する数値」を設定してみればいいでしょう。
さんみょん
2003-09-28 20:42:14 ( ID:e9adlwly19r )
[ 削除 / 引用して返信 ]
V.K.さん、こんにちは。
レス遅れて申し訳ございません。
そしてご説明ありがとうございます。
ただ、恥ずかしながら詳細過ぎて今一つ理解できませんでした。
>通常、PCM音声は16ビット幅でサンプリングされます。
>というわけで、データは
>-32768≦データ≦32767
>の範囲に収まります。
これはもう覚えるしかないんですよね。
>音声加工->ボリューム変更->正規化ボタンを押したことで表示されるダイアログで指定
>する設定%を、その両端にかけます。
その両端というのは何の事でしょうか?
>-32768×設定%≦データ≦32767×設定%
>データをすべて検査し、その範囲内に収まるような最大倍率mを求めます。
>-32768×設定%≦データ×m≦32767×設定%
この辺りが・・・。
大変恥ずかしいのですが、そもそも正規化というのはどういう事なのでしょうか?
音量を大きくする小さくするというのは、「音声加工→ボリューム変更」で
パーセンテージを調整すれば良いと思うのですが。
一つずつ勉強しますので、宜しくお願いします。
V.K.
2003-09-28 21:39:31 ( ID:varimftn/9f )
[ 削除 / 引用して返信 ]
確かにあの説明ではわかりにくいですね。
16bits PCMではデータ範囲が-32768〜32767になるのは暗記してください。
ここでポイント。0が無音で-32768、32767が音量最大データになります。
音は波ですので、プラスとマイナスがあるわけですね。
わかりやすくするために符号を無視した絶対値で考えるといいでしょう。
するとデータの絶対値は32768以下に収まります。
PCMデータをすべて見て、その絶対値の最大数値を取得します。
これがその音声データの最大音量数値になります。
仮に5000としましょうか。これは相当音量が小さいです。
正規化100%とした場合、5000×m=32767となるmを求めます。
#+32768はないので、32767までで考えます。
m=6.55...となり、655%音量アップすれば最大値が32767付近になります。
同時にほかのデータにも6.55倍することで「正規化」が完了します。
正規化75%とした場合は、5000×m=32767×0.75になりますので、491%ですね。
まあ、正規化処理なんか無視して、いきなりボリューム変更で変更してもいいのですが、データが32767を超えた時点でオーバーフローによる音割れが発生します。
たとえば、10000が最大値のデータに対して491%音量アップをかければ49100になり、32767を超えてしまいます。
超えた時点でデータは32767で脚きりされますから、音崩壊です。
また、32767をぎりぎり超えない数値だったとしても、D/A変換時のスムージングを考慮に入れなくてはなりません。
できれば25000〜30000あたりを最大値にしておきたいところです。
#30000だとD/A変換スムージングの余裕が足りないかも。
実際データをすべてダンプして見るわけにもいかないでしょうから「正規化75%」で音量調節してしまえば問題はおきません。
ただ、とんでもなく高いレベルでプチノイズが入っているため、75%正規化では音量が低すぎる場合、一度正規化した後に手でボリューム調整を行うのもありでしょう。
yammo
2003-09-29 22:10:54 ( ID:dat.2whhaqf )
[ 削除 / 引用して返信 ]
>その両端というのは何の事でしょうか?
その前段の
>-32768≦データ≦32767
>の範囲に収まります。
の範囲の両端です。
その下に
「表示されるダイアログで指定する設定%を、その両端にかけます。
-32768×設定%≦データ≦32767×設定%」
って書いてありますし。
用語以前の気がしますが…
なんか結果を急ぎ過ぎてるような気がしないでも無いですけど、
気のせいでしょうか。
ちなみに、
よそのソフトのよそのサイトですがこんなの(説明)があります。
・ノーマライズとオートマキシマイズの違い(SoundEngine / Cycle of 5th)
http://www.cycleof5th.com/support/reading/2002/0520.htm
さんみょん
2003-09-30 23:46:51 ( ID:e9adlwly19r )
[ 削除 / 引用して返信 ]
V.K.さん、yammoさん、レス遅れて申し訳ございません。
正規化が何か分かりました!・・・とまではいきませんが
お陰様で概要は掴めました。
そうなるともう一つ疑問なのですが、元ソースの音量を上げたい場合、
単純にボリューム変更でパーセンテージを上げれば良いのか、正規化の方を
上げれば良いのかです。
akira_cx
( Home )
2003-10-01 07:49:16 ( ID:6coxl57qy4k )
[ 削除 / 引用して返信 ]
V.K.さんの説明、大変わかりやすいものだと思いますが、この説明でいけませんか?
さんみょん
2003-10-01 08:56:41 ( ID:e9adlwly19r )
[ 削除 / 引用して返信 ]
akira_cxさん、こんにちは。
>V.K.さんの説明、大変わかりやすいものだと思いますが、この説明でいけませんか?
いや、大変分かり易いです。多分これ以上、くだいては説明できないと思います。
質問の仕方を間違えました。
>PCMデータをすべて見て、その絶対値の最大数値を取得します。
>これがその音声データの最大音量数値になります。
>
>仮に5000としましょうか。これは相当音量が小さいです。
>
>正規化100%とした場合、5000×m=32767となるmを求めます。
>#+32768はないので、32767までで考えます。
>m=6.55...となり、655%音量アップすれば最大値が32767付近になります。
>同時にほかのデータにも6.55倍することで「正規化」が完了します。
>正規化75%とした場合は、5000×m=32767×0.75になりますので、491%ですね。
この仮に5000という部分が分からないのです。
正規化の理論はわかったのですが、自分の元ソースの音量がいくらなので
どれだけ正規化すれば良いかという所です。
もう一つは、上記の事が分かって無いからだと思うのですが、
単純に少し音量を上げたい場合、ボリューム変更でパーセンテージを上げれば良いのか、
正規化の方を上げれば良いのかです。
誤解を招く書き方をしましたが宜しくお願いします。
akira_cx
( Home )
2003-10-01 22:07:57 ( ID:6coxl57qy4k )
[ 削除 / 引用して返信 ]
V.K.さんの説明、大変わかりやすいものだと思いますが、この説明でいけませんか?(再度)
>仮に5000としましょうか。
と書いてある通り、あくまでも「仮に」です。
さんみょんさんの編集したいファイルの音量がいくらかなんて、私達にわかるはずがありません。
とりあえず、試してみては如何でしょう?
V.K.
2003-10-01 23:49:07 ( ID:varimftn/9f )
[ 削除 / 引用して返信 ]
> 単純に少し音量を上げたい場合、ボリューム変更でパーセンテージを上げれば良いのか、
> 正規化の方を上げれば良いのかです。
*単純に*あげたいならボリューム変更で100%以上の数値を指定しましょう。
少しの度合いがわからないのでなんともいえませんが、再生確認しつつちょっとづつあげていくといいでしょう。
正規化は、PCMデータの最大値を「表現可能最大数の何%にするか」という指定です。
意味が違いますので混同しないようにしましょう。
yammo
2003-10-02 00:28:48 ( ID:v/lrl.z.bvr )
[ 削除 / 引用して返信 ]
ヘルプの「音声加工」にもあるし、オフィシャルガイドにも載ってるはずですけど。
(正規化の意味を理解しきれていないような気がする。)
Google「音量 正規化とは」
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=%E9%9F%B3%E9%87%8F+%E6%AD%A3%E8%A6%8F%E5%8C%96%E3%81%A8%E3%81%AF
とおりすがった
2003-10-02 04:09:14 ( ID:orhkh6c7rp2 )
[ 削除 / 引用して返信 ]
>単純に少し音量を上げたい場合、ボリューム変更でパーセンテージを上げれば良いのか、
>正規化の方を上げれば良いのかです。
スピーカのボリュームを右に回すのが一番良いのでは。
なーんて事言ったらみもふたもないっすな。
ボリューム変更でのパーセンテージは、ソースに対してのパーセンテージです。200%ったら倍の大きさになるって事です。
正規化ボタンを押して出てくるパーセンテージは、音割れをしないですむ最大音量に対してです。100%だったら、(数字的には)音を正確に再生できる限界の大音量になります。(実際は100%だと音割れします。その辺は詳しく正しくV.Kさんが教えて下さってます)
正規化のパーセンテージは自分で設定する必要がありますが、正規化をすると自動でボリューム変更のパーセンテージを設定してくれます。正規化の設定は、デフォルトの75%が無難です。(この辺もV.Kさんが教えて下さってます)
注意する点として、正規化は、ソースの中の最大音を基準として計算するので、極端に大きい音が含まれている場合、大して音量の増加がない事があります。(やっぱりこの辺もV.Kさんが教えて下さってます)その場合はめんどくさいですが、ボリューム変更のパーセンテージを自分で設定して、いちいち試して行きましょう。
あとは考え方として、音へのこだわりを持つかですね。「ああっ!これは他のより音が1dBでかい!ちきしょー」ってんでなければ、聞くより試す方が早いかと思います。
ちなみに、、、キャプチャボードがカノープスのMTVシリーズで、キャプチャした音が小さいって事はないですよね?余計でしたらすみません。
さんみょん
2003-10-02 22:08:49 ( ID:e9adlwly19r )
[ 削除 / 引用して返信 ]
akira_cxさん、こんにちは。
>V.K.さんの説明、大変わかりやすいものだと思いますが、この説明でいけませんか?
>(再度)
いけないなんてとんでもありません。
私は素人ですが、正規化とは何かという事は理解できつつあると思ってます。
ただ、
>>仮に5000としましょうか。
>と書いてある通り、あくまでも「仮に」です。
>さんみょんさんの編集したいファイルの音量がいくらかなんて、私達にわかるはずが
>ありません。
ここなのです。
自分のファイルの音量がいくつかというのはどのように調べれば良いのでしょうか?
作成後にはもう分からないのでしょうか?
少なくともTMPGEnc上では表示されていないですよね。
yammo さん、こんにちは。
>ヘルプの「音声加工」にもあるし、オフィシャルガイドにも載ってるはずですけど。
>(正規化の意味を理解しきれていないような気がする。)
どちらも目を通しましたが、正規化を理解できる説明では無いと思います。
(正規化を分からない人間が、あれで正規化が理解できるとはとても思えないです。)
しかし、皆様のおかげで凄く勉強になりました。
特にV.K. さん。
本当に親切な説明ありがとうございました!
自分でも勉強しますが、また何かありましたら宜しくお願いします。
vns
2003-10-02 22:50:24 ( ID:opp4mx7hzxk )
[ 削除 / 引用して返信 ]
多分PCMの理解で引っかかってしまったんだと思ってみる。
44.1KHz 16bitでの音声なら、1秒間に44.1 x 1000 = 44100個の点に分割する。
さらに、その瞬間瞬間での音の大きさを16bit( -32768≦データ≦32767 )の数値に変換する。
これをずーっと続けていくのがPulse Code Modulationの仕組み。
いわゆる音声のA/D変換ってやつ。
5000っていうのはのはこの"ある点"での数値のこと。
これにm%を掛けたときに 16bit幅を超えてしまうとプチノイズがする。
でいいんだよね。>all
V.K.
2003-10-03 00:06:27 ( ID:varimftn/9f )
[ 削除 / 引用して返信 ]
> 自分のファイルの音量がいくつかというのはどのように調べれば良いのでしょうか?
根性入れてダンプする……ってのは冗談として、正規化100%を行うことで最大音量値を逆に見積もれます。
最大音量値をx(不明値)とし、正規化100%を行った場合のボリューム変更がy%(これは明確な値)だった場合は以下の関係式が成り立ちます
x = 3276700÷y ※
多分xは整数にならないでしょう。その場合、端数は切り捨ててください。切り捨てた数値が大体の音量です。
なぜこうなるのかは正規化100%の手順を考えればわかります。
最大音量値xに対し、32767を超えない倍率y%を求める処理が100%正規化です。
つまり
xy
--- = 32767
100
が成立します。(この場合のyはパーセントなので100で割ります)
この式を変形することで※の式を得ることができます。
さんみょん
2003-10-04 15:29:58 ( ID:e9adlwly19r )
[ 削除 / 引用して返信 ]
皆様、レスが遅くなり申し訳ございませんでした。
V.K.さんの教え通りやってみました。
正規化を100%としたところ、音量変更が355.3%となりました。
つまり自分のファイルの音量は、3276700÷355=9230.14・・・≒9230 。
となると、
-32768×m%≦9230≦32767×m%
となれば良いので
①正規化75%でいくのであれば、ボリューム変更は266%以下までOK
②正規化を100%にするのであれば、ボリューム変更は355%以下までOK
という事で合っているでしょうか?
この場合、①と②では当然②の方が音量が大きい訳ですよね?
最後の疑問なのですが、①と②のどちらで行くかは、実際にエンコードして
聞き比べて良い方を選ぶという選択方法なのでしょうか。
それともガイドにある通り、正規化75%以外は考えずに①のみ覚えておけば
良いのでしょうか。
(正規化とは全体のピークを揃えるモノと解釈しました。ということは、そもそも複数
のファイルをエンコードするのでも無い限り正規化の%は考慮しなくても良いので
しょうか。)
最後に宜しくご教授お願い致します。
さんみょん
2003-10-04 15:36:35 ( ID:e9adlwly19r )
[ 削除 / 引用して返信 ]
>最後の疑問なのですが、①と②のどちらで行くかは、実際にエンコードして
>聞き比べて良い方を選ぶという選択方法なのでしょうか。
表現の仕方が間違っておりました。
実際に、再生してみて良い方(?)を選択するのでしょうか?
と聞きたかったのです。
すみません。
V.K.
2003-10-04 23:01:19 ( ID:xbagj11.tlg )
[ 削除 / 引用して返信 ]
だからね、正規化100%にすると音割れする可能性が跳ね上がるんだってば。
普通D/A(デジタル/アナログ)変換するチップは安全マージンを取っているものなんですが、「安物の」D/Aチップはマージンが少ないです。
さらに限界点付近の挙動は線形ではない場合がほとんどで、歪む可能性があります。
極端な例ですが、以下のPCMデータをサウンドカードに入力したとしましょう。
-32767 -32767 32767 32767 -32767 -32767 32767 32767 -32767 -32767 32767 32767 -32767 -32767 32767 32767 -32767 -32767……(以下延々と続く)
データ上は許されている数値ですが、安物チップ、スピーカーならイッてしまってもおかしくないデータです。
D/Aチップは各データ点をなるべく滑らかにつなごうとします。このデータの場合、-32767->32767に変わる点の傾きが65534もあり、次の32767->-32767への変化も-65534あるということで、32767 32767間のデータが49152あたりにあったのではないかと推測して処理しようとします。
さて、データ処理が24ビットあれば問題ないのですが、安いチップの場合は16ビットだったり、20ビットだったりします。
なんにせよ、限界付近の数値はあまり使わないほうがいいです。コンピュータ屋の世界では限界付近のテストは入念に行うものですが、それは「限界付近での挙動は不安定だ」の裏返しでもあるのです。
低いと思う音に対し、正規化処理をするのは必要なことだと思います。
ですが100%はやりすぎです。
75%はかなり安全マージンをとってあり、個人的には低すぎかなと思います。
が、今までのやり取りを理解できていないのならば
「正規化75%だけにしておきなさい」
ということで。
たいていのケースで、デフォルト、あるいはお勧めの数値は問題ない数値になっています。
問題になるなら自分で調べて、「大丈夫だ」と*自分で判断した上で*やってください。
技術的な背景は教えられますが、そういう判断は「自分で」やるものです。
あと、もうひとつ。PCMのデータの説明はvnsさんの説明であっています。
私がデータの中の「最大音量数値」といっているのはそのためです。
音量ではありません。
1秒間±10000の範囲のランダムデータが続くものと、1秒間0ばかり続いていて一瞬32767になるデータ。
音量が大きいのはどっち?と聞かれれば前者でしょう。後者は一瞬「プチっ」という音がするだけですが、前者は1秒間「シャーっ」というノイズが聞こえます。
一瞬の音量データ、なだけです。
そのデータがどれだけ続くかで音量を判断するのです。
さんみょん
2003-10-04 23:31:37 ( ID:e9adlwly19r )
[ 削除 / 引用して返信 ]
V.K.さん、最後までありがとうございます。
とにかく、考え方は
-32768×設定%≦データ≦32767×設定%
で、ギリギリまでは持って行き過ぎるなという事ですね。
という事は計算さえ間違えなければ、①でも②でもOKなのですね。
(但し正規化が100%に近いのは音割れの危険性が高いのでヤバイ)
これで理解できたような気がします。
本当に詳細なご説明ありがとうございました。
|